'''
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。
比如，输入字符串"abcdefg"和数字2，该函数将返回左旋转两位得到的结果"cdefgab"。
'''
#第一：空间换时间
def reverseLeftWords(s,k):
    s += s
    n = int(len(s)/2)
    return s[k%n:n+k]
#第二：时间换空间思想
def reverseLeftWords1(s,k):
    def reverse(p):
        i = 0
        j = len(p)-1
        while i<=j:
            p[i],p[j] = p[j],p[i]
            i+=1
            j-=1
        return p
    s = list(s)
    print(reverse(reverse(s[0:k]) + reverse(s[k:len(s)])))

#从效率上考虑,如果k值取很多时，那么就是不断的循环过程，那么考虑取模
def reverseLeftWords2(s,k):
    pass

if __name__ == '__main__':
    print(reverseLeftWords1("abcdefg", 6))

